'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getconvol
.ds Xs 38054 6 getconvolutionfilter.gl
.TH GLGETCONVOLUTIONFILTER 3G
.SH NAME
.B "glGetConvolutionFilter
\- get current 1D or 2D convolution filter kernel

.SH C SPECIFICATION
void \f3glGetConvolutionFilter\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetConvolutionFilter( 'u
	GLenum \fIformat\fP,
	GLenum \fItype\fP,
	GLvoid \fI*image\fP )
.fi

.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u 
\f2target\fP
The filter to be retrieved.
Must be one of
\%\f3GL_CONVOLUTION_1D\fP or
\%\f3GL_CONVOLUTION_2D\fP.
.TP
\f2format\fP
Format of the output image.
Must be one of
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, or
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2type\fP
Data type of components in the output image.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2image\fP
Pointer to storage for the output image.
.SH DESCRIPTION
\%\f3glGetConvolutionFilter\fP returns the current 1D or 2D convolution filter kernel as an image.
The one- or two-dimensional image is placed in \f2image\fP according to the
specifications in \f2format\fP and \f2type\fP.
No pixel transfer operations are performed on this image, but the relevant
pixel storage modes are applied.
.sp
Color components that are present in \f2format\fP but not included in the
internal  of the filter are returned as zero.
The assignments of internal color components to the components of \f2format\fP
are as follows.
.br
.bp
.TS
center;
lb lb
l l.
_
Internal Component	Resulting Component
_
Red	Red
Green	Green
Blue	Blue
Alpha	Alpha
Luminance	Red
Intensity	Red
_
.TE
.SH NOTES
\%\f3glGetConvolutionFilter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
The current separable 2D filter must be retrieved with
\%\f3glGetSeparableFilter\fP rather than \%\f3glGetConvolutionFilter\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetConvolutionFilter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP
.SH SEE ALSO
\%\f3glGetSeparableFilter(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glConvolutionFilter2D(3G)\fP
